The invention relates generally to personal computer software and more particularly, to a method of identifying files that may be causing stability problems on a personal computer.
Due to the complexity of software installed on today's personal computers, stability of the software is a challenging problem. The totality of software installed on a typical personal computer includes a vast number of interrelated pieces such as libraries, configuration files, and registry settings. For example, a standard installation of a typical operating system may have more than 5000 system libraries. In addition, installed programs can have many more libraries and other required files. Corruption of any of these files or any change that causes an incompatible interaction between various elements of the operating system or the installed software can cause crashes or unexpected behavior. Such instability can be extremely hard to diagnose given the large number of potential causes. These failures usually develop over time—when a computer is new, it functions well, but problems can arise as software and operating system patches are installed. In addition, regular operation occasionally results in corrupted files or inadvertent deletion of useful files. A common practice when computers malfunction, and the problem is not quickly diagnosed, is to wipe a computer clean, reinstalling all software. Re-installation is drastic and time consuming, especially for the end-user who must re-install any additional software they need, but often there is no other solution available.
Software restoration of a computer from its previously backed up archives is known in the prior art. Conventional backup systems can restore earlier versions of user files. None of these systems, however, address the question of determining exactly which files have changed over time, and which changes are most likely to have caused the problem. Restoring a system to an earlier state can also be a drastic solution, as many innocent and useful changes may be lost.
As can be seen, there is a need for a method of identifying files that may be causing stability problems on a computer system.